call it ffi instead of none
fix silly misunderstanding of croak in xs
rm memory leak when no alloca available
lets call it scratch1 instead of scratch
pointers out
return pointer types