Haskell言語にはパラメータ化された型 (parameterized types)、パラメータ多相 (parametric polymorphism)、そしてJavaのジェネリクスやC++のテンプレートの両方に似たプログラミングのスタイルをサポートする型クラス (type classes) がある。Haskellプログラムではこれらの構文を様々なところで利用しており、避けることはかなり難しい。Haskellはまた、さらなるジェネリック性と、多態が提供する以上の再利用性を目指すようにプログラマーと言語開発者を奮起させる、さらに独特なジェネリックプログラミングの機能がある。Haskellの6つの事前定義された型クラス（同一性を比較できるEqという型と、値を文字列に変換できるShowという型を含む）は導出インスタンス (derived instances) をサポートしている特別なプロパティを持つ。プログラマーが新しい型を定義するということは、クラスのインスタンスを宣言するときに、普通であれば必要なクラスメソッドの実装を提供することなく、この型がこれらの特別型クラスのインスタンスとなることを明示できるということである。全ての必要なメソッドは型の構造に基づいて導出（つまり自動的に生成）される。例として、下記の二分木型の宣言はこれがEqとShowのクラスのインスタンスになることを示している。data BinTree a = Leaf a | Node (BinTree a) a (Bintree a)      deriving (Eq, Show)Tがそれらの演算子を自分でサポートしているのであれば、任意の型のBinTree T形式のために比較関数 (==) と文字列表現関数 (show) が自動的に定義される。EqとShowの導出インスタンスへのサポートは、それらのメソッドである==とshowを、パラメーター的な多態関数とは質的に異なるジェネリックにする。これらの"関数"（より正確には型でインデックス付けられた (type-indexed) 関数のファミリー）はたくさんの異なる型の値を受け入れることができ、各引数の型によってそれらは異なる動作をするが、新しい型へのサポートを追加するためにわずかな作業が必要とされる。Ralf Hinze氏 (2004) は、あるプログラミングテクニックによりユーザー定義型のクラスに対して同様の結果を達成できることを示した。彼以外の多くの研究者はこれと、Haskellの流れとは違う種類のジェネリック性やHaskellの拡張（下記参照）に対する取り組みを提案していた。
Javaのジェネリクスの実装上の制約により、配列のコンポーネントの型が何であるべきかを特定する方法がないために、ジェネリック型の配列を作成することは不可能である。従ってnew T[size];経由のようにメソッドが型引数Tを持っていた場合はプログラマはその型の新しい配列を生成することができない。しかし、この制約はJavaのリフレクションのメカニズムを利用して回避することが可能である。クラスTのインスタンスが利用可能な場合、Tに対応するClassオブジェクトのオブジェクトから1つを得て、新しい配列を生成するためにjava.lang.reflect.Array.newInstance(Class, int)を使うことができる。もう１つのJavaのジェネリクスの実装上の制約は、<?>以外に、型パラメーターの型でジェネリッククラスの配列を生成することが不可能であるということだ。これは言語の配列の取り扱い方法に起因するものであり、タイプセーフを維持するために、明示的にキャストしなくともコンパイラが警告を出さないことを全てのコードで保証する必要があるからである。
Javaのジェネリック型パラメーターは特定のクラスに制限されない。与えられたジェネリックオブジェクトが持っているかもしれないパラメーターの型の境界を指定するためにJavaではワイルドカードを使用できる。例えば、List<?>は無名のオブジェクト型を持つリストを表す。引数としてList<?>を取るようなメソッドは任意の型のリストを取ることができる。リストからの読み出しはObject型のオブジェクトを返し、そしてnullではない要素をリストへ書き込むことはパラメーター型が任意ではないために許されない。ジェネリック要素の制約を指定するために、ジェネリック型が境界クラスのサブクラス（クラスの拡張とインターフェイスの実装のいずれか）であることを示すキーワードextendsを使用できる。そしてList<? extends Number>は与えられたリストがNumberクラスを拡張するオブジェクトを保持することを意味する。従って、リストが何の要素の型を保持しているのかがわからないためにnullではない要素の書き込みが許されないのに対し、リストから要素を読むとNumberが返るだろう。ジェネリック要素の下限を指定するために、ジェネリック型が境界クラスのスーパークラスであることを示すキーワードsuperが使用される。そしてList<? super Number>はList<Number>やList<Object>でありえる。リストに正しい型を保存することが保証されるため任意のNumber型の要素をリストに追加できるのに対し、リストからの読み出しではObject型のオブジェクトを返す。
纒向遺跡は1937年（昭和12年）に土井実によって「太田遺跡」として『大和志』に紹介されたのが最初である。現在の名称で呼ばれるまでは「太田遺跡」・「勝山遺跡」として学界に知られており、小規模な遺跡群の1つとして研究者には認識され、特に注目を集めていなかった。しかし、炭鉱離職者の雇用促進のための県営住宅建設および小学校建設計画が持ち上がり、それを契機に1971年（昭和46年）より橿原考古学研究所によって事前調査が行われることとなった。その結果、幅5m、深さ1m、総延長200m以上の運河状の構造物が検出され、地元の万葉研究者である吉岡義信らが『万葉集』に登場する「巻向川」の跡ではないかと述べたことから、注目を集めることとなった。川跡からは、吉備の楯築遺跡や都月坂遺跡で出土している特殊器台が出土した。その後も、橿原考古学研究所の石野博信と関川尚功を中心に発掘調査がなされ、様々な遺構や出土品が広範囲にわたり確認された。1977年（昭和52年）の第15次調査以降は、調査主体が橿原考古学研究所から桜井市教育委員会へと移り、現在も調査を継続しており、調査回数は100次を超えている。2008年（平成20年）12月段階でも、遺跡は全体の5%が発掘調査されたにすぎない。2009年（平成21年）にはいくつかの建物を検出し、纒向遺跡は柵や砦で囲まれた都市の一部らしいことが明らかになってきた。纒向遺跡発掘に携わった奈良県桜井市教育委員会は、遺跡の3世紀に掘られた穴「土坑」から桃のタネ約2,000個が見つかったと2010年（平成22年）に発表した。桃の実は古代祭祀においては供物として使われており、1ヶ所で出土したタネ数としては国内最多である。また2011年（平成23年）には、この遺跡からマダイ、アジ、サバ、コイなど6種類以上の魚の骨やウロコを確認した。動物もイノシシやシカ、カモの骨など千数百点が見つかったと発表した。