-record(platform, { target :: any(), mount :: fun((any()) -> {any(), agnostic@vdom@vnode:element(any())}), create_element :: fun((binary(), binary()) -> any()), create_text_node :: fun((binary()) -> any()), create_fragment :: fun(() -> any()), create_comment :: fun((binary()) -> any()), insert_before :: fun((any(), any(), {ok, any()} | {error, nil}) -> nil), move_before :: fun((any(), any(), {ok, any()} | {error, nil}) -> nil), remove_child :: fun((any(), any()) -> nil), next_sibling :: fun((any()) -> {ok, any()} | {error, nil}), get_attribute :: fun((any(), binary()) -> {ok, binary()} | {error, nil}), set_attribute :: fun((any(), binary(), binary()) -> nil), remove_attribute :: fun((any(), binary()) -> nil), set_property :: fun((any(), binary(), any()) -> nil), set_text :: fun((any(), binary()) -> nil), set_raw_content :: fun((any(), any()) -> nil), create_raw_node :: fun((any()) -> any()), add_event_listener :: fun((any(), binary(), fun((any()) -> nil), boolean()) -> nil), remove_event_listener :: fun((any(), binary(), fun((any()) -> nil)) -> nil), schedule_render :: fun((fun(() -> nil)) -> fun(() -> nil)), after_render :: fun(() -> nil), phases :: list(agnostic@platform:phase()) }).