sentence: bounded quantification has traditionally been studied in the functional setting of : , but is available in modern object-oriented language supporting parametric polymorphism ( generics ) such as java , c# and scala .