make l/u of lu use exact type deduction
use container_shared_ref in () optimization to avoid dangling pointer issues
simplify lu_rest test