ドイツは第二次世界大戦後から40年にわたって分断され、旧東西両国が資本主義と共産主義という違った経済体制を敷いていたため、旧西ドイツと旧東ドイツでは大きな経済格差があった。旧東ドイツは東側の社会主義国の中では一番経済が発展していた「社会主義国の優等生」ではあったが、それでも世界屈指の経済大国である旧西ドイツとの差は非常に大きかったと言われる。再統一後のドイツは深刻な不況に襲われ、その影響は長く続いた。コール首相は、整理解雇請負会社「ドイツ信託公社」に依頼し、旧東ドイツ国営企業の民営化や大規模な整理解雇を行った。旧西ドイツでは経済混乱に足をすくわれ、再統一の際に1:1での通貨交換をしてしまったため、5000億マルク（当時の日本円にして約3兆5000億円）が吹き飛び、赤字転落してしまった。また、旧東ドイツでは、民営化された国営企業の相次ぐ倒産により失業者数が増加した。そのあおりで極右政党が移民排斥を主張すると、失業者と競合する国民の共感を得る傾向にあり、東西ドイツ時代には封じられていたネオナチ思想も、格差の残る旧東ドイツを中心に息を吹きかえした。再統一後も旧東ドイツへの援助コスト増大などによって、旧西ドイツの経済は圧迫を強いられた。2006年ごろには景気回復の兆しを見せたが、世界金融危機により、再び不況に陥った（欧州全体が世界金融危機の影響を受けており、ドイツだけが特別ではない）。2010年に欧州連合が経済危機に陥ったギリシャへの金融支援を検討した際、最も強く反対したのは20年近くの不景気にあえぎ続けていたドイツであった。この頃になると、西側の（アメリカを除く）経済・技術最優秀国という立場は霧散する。ドイツ再統一とほぼ同時期にバブル崩壊により経済低迷が続いていたとされる日本だが、旧東ドイツの経済格差解消のため技術開発も後回しになっていたドイツに比べれば、まだしも投資が続けられていた。ドイツの主要産業は日本とラップしているため、技術的格差を拡げられたため更なる経営難に陥った。そこでドイツはフォルクスワーゲンなど大手雇用口企業を政策で保護するという、ドイツ版逆コースとも言うべき経済政策が施された。しかしこの結果が、フォルクスワーゲンの排ガス規制不正問題を誘発することになる。2007年10月、ドイツの世論調査会社の調査によると、「東西に分断されていた頃の方が良かった」と答えた人は全体の19％に上るなど、必ずしも全てのドイツ人がドイツ再統一を歓迎していない実態が明らかとなった。
西ドイツは建国以来「憲法（Verfassung）」を持たず、「基本法（Grundgesetz）」をもって憲法に代えていた。その理由は、「やがて東ドイツを含めて統一する暁に初めて憲法を持つことにする」との意志を持っていたからで、このことは基本法146条に明記されていた。しかし、実際に東ドイツが1989年のベルリンの壁崩壊に始まる自壊現象を起こしてしまうと（→東欧革命）、西ドイツはこの基本法上の規定を無視して、新たな州の「加盟」を認める基本法第23条の手続きを利用して、東ドイツにある5つの州および都市州ベルリンが西ドイツ（「連邦」共和国）に新たに「加盟」するという形式で国家統一を成し遂げた。そのため、法律上の解釈では、ドイツは「再統一」したのでは無く、東ドイツ地域にある各州がドイツ連邦共和国に「加盟」したとしか言えない。
Self のオブジェクトにはスロットを追加可能である。グラフィカルなプログラミング環境でもできるし、'_AddSlots:' プリミティブでも可能である。プリミティブは通常のキーワードメッセージと同様の構文だが、その名前は常にアンダースコアで始まる。＿AddSlots プリミティブ自身は古い実装の名残りであるため、使うべきでないとされている。しかし、これを使うとコードを短縮できるため、以下ではあえて解説する。Vehicle という単純なクラスのリファクタリングで乗用車とトラックで振る舞いを変えることを上の例で示した。Self ではこれを次のように実現できる:   _AddSlots: (| vehicle <- (|parent* = traits clonable|) |).'_AddSlots' プリミティブの受信者オブジェクトが明示されていないので、これは "self" に対するものである。これを対話型のプロンプトで入力すると、"self" オブジェクトに相当するのは "lobby" と呼ばれるオブジェクトである。'_AddSlots' の引数はオブジェクトであり、そのスロットが受信者オブジェクトにコピーされる。この例では、それは1つのスロットだけを持つリテラルオブジェクトである。スロット名は 'vehicle' で、その値が別のリテラルオブジェクトとなっている。"<-" という記号は、第一のスロットの値を変更するのに使われる 'vehicle:' という第二のスロットを暗に示している。"=" は定数スロットを意味するので、'parent*' には対応する 'parent:' が無い。このリテラルオブジェクトは 'vehicle' の初期値であり、クローン作成に関するメッセージを理解できるスロットを1つもっている。完全に空のオブジェクトは、(| |) あるいは単に () で示され、メッセージを全く受け付けられない。    vehicle _AddSlots: (| name <- 'automobile'|).これも、前と同じオブジェクトが受信者であり、'parent*' に加えて新たに 'name' と 'name:' スロットが追加されている。   _AddSlots: (| sportsCar <- vehicle copy |).   sportsCar _AddSlots: (| driveToWork = (何かのコード、これがメソッドになる) |).以前の 'vehicle' と 'sportsCar' はほとんど同じだが、ここでは後者にオリジナルが持っていなかったメソッドを伴うスロットが含まれている。メソッドを持つことができるスロットは定数スロットだけである。   _AddSlots: (| porsche911 <- sportsCar copy |).   porsche911 name:'Bobs Porsche'.新たなオブジェクト 'porsche911' は 'sportsCar' とほぼ同じだが、最後のメッセージでその 'name' スロットの値が変更されている。これらはスロットの値は異なるものの、持っているスロットは同じであることに注意されたい。