LIB: make placeholder optdef instead of writeonly