Sets which may contain other sets as members are defined as a data type in Scheme, a dialect of LISP. Using the sets so-defined, the standard set-theoretical operations of union, intersection, powerset, etc. are developed. Drawing upon the theory of structures presented in Winnie (1986), set-theoretical structures are defined and procedures for computing their automorphisms (symmetries) and invariants are developed.