Changing to a domain and back doesn't do dependencies correctly:
test=# create table parent (a int4);
CREATE TABLE
test=# drop table parent;
DROP TABLE
test=# drop domain dom;
DROP DOMAIN
test=# create table parent (a int4);
CREATE TABLE
test=# create domain dom as bigint;
CREATE DOMAIN
test=# alter table parent alter a type dom;
ALTER TABLE
test=# alter table parent alter a type int4;
ERROR: found unexpected dependency for column
Chris