pure function make_tree_node(op) result(node) implicit none integer(int32), intent(in) :: op type(tree_node_t) :: node node%op = op end function make_tree_node