function test( c ) return ( "works" + c ); endfunction function copy( c ) print( c.call( "copy" ) ); endfunction program t() var f := @test; var res := f.call( "direct" ); copy( f ); print( "res " + res ); print( @test ); copy( @test ); if ( f ) print( "error" ); else print( "funcref is always false" ); endif // should be packet to uninit print( pack( f ) ); print( unpack( pack( f ) ) ); endprogram