optional 같이 형안정성 안전하게 확보할 수 있는 방향으로 쓰는 건 좋은데 

그외에 이상하게 짜서 코드 블로팅 되는건 좀 안쓰는 방향으로 설계 해보라고... ㅎㅎㅠ