Ну вот. Посмотрел.
Плохо, конечно, это в документации описано, но вроде получается, что и шаблоны не очень нужны.
Я правильно понимаю, что можно объявить запись абстрактной и конкретную реализацию оставить наследникам?

Если да, то возможно написать родовой модуль, например, стека с элементом - абстрактной записью. Это и будет параметр - тип.
Тогда модули, использующие этот родовой модуль, должны просто реализовать абстрактную запись - тип элемента стека. А все методы - уже в родовом модуле прописаны.