like make from unstable/struct except allowing keywords