Refactor, make Surge a newtype, and others.