[minor] Introduce the `options.name` property globally
[fix] Make sure all functions are constructors in tests.
[fix] Only allow named constructors
[fix] Allow names to be forced