make_sharedのシグネチャを修正，allocate_sharedを追加

間違ってプルリクエストをcloseしてしまったので再リクエストします。