Should the constructors limit the types, so that the `NoMethodError` arises one step closer to the user?