lua bindings support non-pod types if they dont need deferred execution