pub fn component(c: fn(Socket, a) -> #(Socket, List(Element)), props: a) -> Element
pub fn render(socket: Socket, elements: List(Element)) -> #( Socket, List(Element), )