Selectively bringing constructors or record fields into scope

Or make your type abstract and provide a constructor and accessors for it.