sig val 'smith : gbf -> seq val 'smith_backpos : posgbf -> seq val 'following : seq -> posgbf -> gbf end