implicitly lift always