[:!let name [:get_combined name]] [:!let prefix [expr {[[:get_owning_partof] pinfo get -default 0 bundle ismetaclass] ? "cls": "obj"}]]

$name[:statusmark]

[:? {[info exists :@return] && [${:@return} @spec] ne ""} { : [${:@return} @spec]} ] $prefix $name [:pinfo get -default "" bundle parametersyntax]
[:as_text] [:? {[info exists :@parameter]} {
Parameters:
[:for param ${:@parameter} {
[$param name] [:? {[$param eval {info exists :@spec}] && [$param @spec] ne ""} { : [$param @spec]}] [$param statusmark] [$param as_text] [$param pinfo get -default "" validation]
}]
}] [:? {[info exists :@return]} {
Returns:
[${:@return} as_text]
}]