Port latest batch of cukes from master to gh

:warning: This is my work in progress; some cukes still fail

/cc @jingweno
This fixed the function. Declaring `project :=` kind of shadowed over the pointer return value. Or something.