enable subroutine traits and lvalue subs