Optimise fully saturated constructors

Resolves #334