Distinguish between lvalue and rvalue patterns