actually make use of canusesprm to simplify some expressions