Keep named patterns on explicit constructors

Fix #46