Hooray for functions! Hooray for templates!
Hooray for functions! Hooray for templates!


Former-commit-id: 5195c9d432e6ca9c25fa65c8cacce3915efd7c44 [formerly d3565500c1ac5b32118b2de72bcacc4f23c56afa] [formerly efc72a43b1d6f07a6b107d7bf75ba61d987799a2]
Former-commit-id: 2e8638996914b079db8ebc95c1da33103a57b227 [formerly c9ca22b65097ad6a77518cd2151f90197267e60a]
Former-commit-id: cf337234f912d6618bdf36c59127f8c3061dc50c
sctjkc01/ofCourse,ryansb/ofCourse,ryansb/ofCourse,sctjkc01/ofCourse,ritjoe/ofCourse,ritjoe/ofCourse