Use MooX::late to provide type system, which has been a PITA so far