When a toplevel `let` pattern is just a variable, treat in the same way as toplevel `let-rec`.
Export datatypes without value constructors as single-constructor types instead of as abstract types, to avoid problems with injectivity checks.