complete compile time eval