allow us to dispatch arity-based constructors