hypothetical safe function constructor
will have to make func compatible with bind()
import compiler; disable undefined warnings