explicit types for implicits [wip]